#ANNOUNCE         CANFILE            CLEAR_BREAKPOINT   DEFINE
#DISPLAY_UNITS    EXIT               GO                 HELP
#KEYPAD           PUT_VARIABLE       QUIT               RECREATE
#RESHOW           SCREEN             SCROLL_DOWN        SCROLL_UP
#SET_BREAKPOINT   SET_LIBRARY        SET_OUTPUT         SET_SOURCE
#SET_VARIABLE     SHOW_BREAKPOINTS   SHOW_HISTORY       SILENT
#STEP             SYNTAX_RULES       TERMINALS
*********************************************************************
* SYMDEBUG.HLP  Last modified 02/05/86  J. England  Intermetrics, Inc
*********************************************************************
\ANNOUNCE\A\None\Announce messages at breakpoints and step points
?
+Syntax:  ANNOUNCE;          --> or A
+         ANNOUNCE(BREAK);   --> or A(BREAK
+         ANNOUNCE(STEP);    --> or A(STEP
E
+  1) >> ANNOUNCE(STEP);  --> Turns on STEP messages
+  2) >> A(BREAK)         --> Turns on BREAKPOINT messages
+  3) >> A                --> Turns on both STEP & BREAKPOINT messages
*********************************************************************
\CANFILE\CANone\Execute a CANned input command FILE
?
+Syntax:  CANFILE(CANFILE_NAME);
+         where CANFILE_NAME is the name of the CANFILE to be executed
+
+CANFILES are text files that contain  WIS_DEBUG commands in  exactly the
+same format as they would be entered through the keyboard.  CANFILES may
+be executed at any time the debugger is  at  the  command  prompt  ">>".
+Any number commands may be included in a CANFILE but CANFILES may not be
+nested (i.e., one CANFILE may not execute another CANFILE).
E
+A typical CANFILE to perform an initial setup sequence might be:
+    DEFINE( &1, SET_BREAKPOINT(   );
+    DEFINE( &2, SHOW_BREAKPOINTS; );
+    DEFINE( &3, SHOW_HISTORY;     );
+    SILENT(STEP);
+    SCREEN(VT100);
+
+A CANFILE by entering the CANFILE command and the name of the canfile.
+
+EXAMPLES:
+  1)  >> CANFILE(SETUP.CAN);
+  2)  >> CANFILE(KEY.DEF)
+  3)  >> CA(RESTART.T1
*********************************************************************
\CLEAR_BREAKPOINT\CL\None\Clear breakpoints in 1 or more compilation units
?
+Syntax: CLEAR_BREAKPOINT(n);                  --> or CL(n
+        CLEAR_BREAKPOINT(comp_unit);          --> or CL(comp_unit
+        CLEAR_BREAKPOINT(comp_unit, n);       --> or CL(comp_unit, n
+        CLEAR_BREAKPOINT(pgm_unit);           --> or CL(pgm_unit
+        CLEAR_BREAKPOINT(STANDARD.pgm_unit);  --> or CL(STANDARD.pgm_unit
+        CLEAR_BREAKPOINT;                     --> or CL
E
+  1) >> CLEAR_BREAKPOINT(10); --> Clear bkpt 10 in current unit
+  2) >> CLEAR_B(A,37          --> Clear bkpt 37 in unit A
+  3) >> CLEAR_BREAKPOINT(XYZ  --> Clear all bkpts in all units XYZ
+  4) >> CLEAR_BRE(A.B.C.XYZ)  --> Clear all bkpts in unit A.B.C.XYZ
+  5) >> CL                    --> Clear all bkpts in all comp units
*********************************************************************
\DEFINE\DE\None\Define a new keyboard macro
?
+Syntax:  DEFINE( &n, STR );    --> DE( &n, SOME_STRING
+
+            where   n   : integer range 1 .. 9;
+                    STR : string;
?
+   Assigns the value of STR to &n. Imbedded blanks are allowed.  Leading
+and trailing blanks are ignored.  Quote characters  (")  should  not  be
+used to delimit the string.  They are allowed but  will  be  interpreted
+as part of the string.
+
+   Once a keyboard macro has been defined it may be used anywhere on the
+command line when the debugger is in the command mode.  It may  be  used
+to execute an entire command, or it may be embedded within a command.
E
+  1)  >> DEFINE( &2, SHOW_HISTORY; );
+    then
+      >> &2 <cr>
+      Will execute the SHOW_HISTORY command
E
+  2)  >> DEFINE( &1, SET_BREAKPOINT( );
+      >> DEFINE( &4, LONG_PACKAGE_NAME.LONG_PROCEDURE_NAME );
+      >> DEFINE( &5, LONG_FUNCTION_NAME );
+    then
+      >> &1&4.&5 <cr>
+      Will set the first breakpoint in the program unit
+      LONG_PACKAGE_NAME.LONG_PROCEDURE_NAME.LONG_FUNCTION_NAME
*********************************************************************
\DISPLAY_UNITS\DI\None\Display status of active program units
+Syntax:  DISPLAY_UNITS;  --> or DI
?
+Units are displayed in the order that they have been activated with the
+most recently activated program unit shown first.  Tasks are  qualified
+by their task type activation number to differentiate between different
+objects of the same task type.
+
+The  currently  executing  program  unit at the time the  DISPLAY_UNITS
+command is entered is flagged by "=>".
E
+  1)  >> display_units; <cr>     3)  >> di;  <cr>
+  2)  >> display <cr>            4)  >> di   <cr>
*********************************************************************
$EXIT\E\None\Command: EXIT - Terminate session and EXIT to parent process
+Abbreviation:   EX (2 chars required to avoid accidental entry)
+Syntax:         EXIT;  --> or EX
?
+The EXIT command is exactly the same as the QUIT command.  Some people
+prefer EXIT and some prefer QUIT. Both terminate the debugging session
+and  cause  an orderly  shutdown  of the  program  under test.  If the
+instrumented  program  was  invoked  from  WIS_DEBUG  then  control is
+returned to WIS_DEBUG.  If invoked via a DCL command  then  control is
+returned to the system.
E
+  1) >> EXIT;    3) >> EXI;      5) >> EX; --> Minimum 2 chars reqd
+  2) >> EXIT     4) >> EXI       6) >> EX  --> Minimum 2 chars reqd
*********************************************************************
\GO\G\None\Resume execution until next breakpoint or step point hit
?
+Syntax:  GO;    --> or G
+
+Resumes execution of the suspended program.  Execution will continue
+until one or more of the following conditions occurs:
+   1) An active, or set, breakpoint is encountered.
+   2) A previously entered STEP count is exhausted.
+   3) Program termination due to an unhandled exception.
E
+  1)  >> GO;          3)  >> G;
+  2)  >> GO           4)  >> G
*********************************************************************
\HELP\H\None\Display information about debugger commands and features
?
+Syntax:  HELP;            --> or H
+         HELP(topic);     --> or H(topic
+
+Displays information about Symbolic Debugger commands  and  features.   The
+HELP command may be entered at any time the debugger is in "command"  mode.
?
+"Topic" may be abbreviated.  If no "topic" is specified or  if  an  invalid
+"topic" is specified then a menu of all available HELP topics is displayed.
+If "topic" is ambiguous then a list  possible  intended  topics  and  their
+minimum abbreviations is displayed.
?
+Help files may be modified or expanded by the user to add project or system
+specific information, new terminal configurations,  information about bugs,
+or any other topic.  The format of the  help  file  and  information  about
+adding new topics may be found in the WIS_DEBUG User's Guide.
E
+  1) >> HELP;       --> Will display a menu of all available HELP topics
+  2) >> HELP(STEP); --> Will display information about the STEP command
+  3) >> HELP(A      --> Will display information about the ANNOUNCE command
*********************************************************************
$KEYPAD\K\N/A\Predefined Keyboard Macros available in SCREEN mode:
+
+  <PF1>        Toggles INSERT mode ON/OFF
+  <PF2>        Executes the SCROLL_UP command
+  <PF3>        Executes the SCROLL_DOWN command
+  <PF4>        Erase end of line
+  <ENTER>      Executes the STEP(1) command
+  <UP ARROW>   Recalls previous commands for editing and/or execution
+
+Additional user defined keyboard macros may be defined with DEFINE command.
+User defined keyboard macros available in both SCREEN and  NON SCREEN mode.
*********************************************************************
\PUT_VARIABLE\P\None\Display the value of a program variable or constant
?
+Syntax:  PUT_VARIABLE(var_name);  --> or P(var_name
+
+The parameter var_name may be any legal Ada program variable name that
+is visible within the scope of the current breakpoint and may  include
+subscripts and qualifiers.   If the variable name ends  with  a  paren
+then all closing parens are required. The semicolon is optional.
E
+  1)  >> PUT_VARIABLE(COLOR);            --> Closing parend optional
+  2)  >> PUT_VAR(ACCOUNT_NUMBER.SMITH)   --> Closing parend optional
+  3)  >> PUT_V(RECEIVABLES(ACCOUNT_NUMBER.SMITH).BALANCE
+  4)  >> PUT_V( KIND(3) )                --> Closing parens REQUIRED !!
*********************************************************************
$QUIT\Q\None\Command: QUIT - Terminate session and return to parent process
+Abbreviation:   QU (2 chars required to avoid accidental entry)
+Syntax:         QUIT;  --> or QU
?
+The QUIT command is exactly the same as the EXIT command.  Some people
+prefer QUIT and some prefer EXIT. Both terminate the debugging session
+and  cause  an orderly  shutdown  of the  program  under test.  If the
+instrumented  program  was  invoked  from  WIS_DEBUG  then  control is
+returned to WIS_DEBUG.   If invoked via a DCL command  then control is
+returned to the system.
E
+  1) >> QUIT;    3) >> QUI;     5) >> QU;  --> Minimum 2 chars reqd
+  2) >> QUIT     4) >> QUI      6) >> QU   --> Minimum 2 chars reqd
*********************************************************************
\RECREATE\REC\None\Recreate the terminal display in screen mode
?
+Syntax: RECREATE;    --> or REC
+
+Recreates the terminal display in screen mode.  Each  display  region
+(OUTPUT, SOURCE, USER) is recreated separately. Command may  used  be
+when certain extreme situations occur that directly affect the screen
+mode of the terminal, such as user output sending a control or escape
+sequence to the terminal that takes it out of screen mode.
?
+May require that the terminal be placed into a  "local"  mode,  reset,
+and then placed back  "on-line". Then enter the command RECREATE.
+ - OUTPUT region will be  restored  to the most recent  command,
+ - SOURCE region will be restored to the current listing file and bkpt
+ - USER region will be cleared to avoid duplication of the problem
E
+  1)  >> RECREATE;       3)  >> RECRE;
+  2)  >> RECREATE        4)  >> REC
*********************************************************************
\RESHOW\RES\None\Reshow the terminal display in screen mode
?
+Syntax:  RESHOW;    --> or RES
+
+In a multi-user time sharing environment situations may occur that affect
+the display when in screen mode such as messages from other users,  batch
+job completion messages from the  system,  etc.  It  is  not  within  the
+capability of the debugger to inhibit such situations. However, when this
+happens the screen display can normally be regenerated using  the  RESHOW
+command with no loss of information.
+
+If the situation cannot be corrected by using the  RESHOW  command,  then
+try the RECREATE command.
E
+  1)  >> RESHOW;       3)  >> RESH;
+  2)  >> RESHOW        4)  >> RES
*********************************************************************
\SCREEN\SCRE\None\Enter the SCREEN terminal mode
?
+Syntax:  SCREEN(term_type);    --> or SCRE(term_type
+
+Changes the debugger from NON SCREEN mode (tty)  to  SCREEN  mode.  The
+parameter "term_type" must be a previously defined screen mode terminal
+in  the  Terminal  Control  File  (TCF.DAT).   See HELP(TERMINALS)  for
+information on screen type terminals that are currently supported.
E
+  1)  >> SCREEN(VT100);       3)  >> SCREEN(VT52
+  2)  >> SCREEN(TV970)        4)  >> SCR(VI50
*********************************************************************
\SCROLL_DOWN\SCROLL_D\PF3\Scroll the LISTING display window down
?
+Syntax:  SCROLL_DOWN;     --> or SCROLL_D
+
+Scrolls the SOURCE display region "window" down one "page" in the  current
+listing file.  A "page" is equal to the current size of the SOURCE display
+region.   The default size of the SOURCE display region is 8 lines but may
+be changed by the SET_SOURCE command.
E
+  1)  >> SCROLL_DOWN;        3)  >> SCROLL_DO;       5)  >> <PF3>
+  2)  >> SCROLL_DOWN         4)  >> SCROLL_D
*********************************************************************
\SCROLL_UP\SCROLL_U\PF2\Scroll the LISTING display window up
?
+Syntax:  SCROLL_UP;       --> or SCROLL_U
+
+Scrolls the SOURCE display region "window"  up  one "page" in the  current
+listing file.  A "page" is equal to the current size of the SOURCE display
+region.  The default size of the SOURCE display region is 8 lines but may
+be changed by the SET_SOURCE command.
E
+  1)  >> SCROLL_UP;          3)  >> SCROLL_U;        5) >> <PF2>
+  2)  >> SCROLL_UP           4)  >> SCROLL_U
*********************************************************************
\SET_BREAKPOINT\SET_B\None\Set the specified breakpoint "on"
?
+Syntax:  SET_BREAKPOINT(n);                 --> or SET_B(n
+         SET_BREAKPOINT(comp_unit, n);      --> or SET_B(comp_unit, n
+         SET_BREAKPOINT(pgm_unit);          --> or SET_B(pgm_unit
+         SET_BREAKPOINT(STANDARD.pgm_unit); --> or SET_B(STANDARD.pgm_unit
?
+Sets the  specified  breakpoint  "on".   If  only  "n"  is  specified  then
+breakpoint "n" in the current compilation  unit  is  set.   If  "comp_unit"
+is specified then breakpoint "n" in compilation unit  "comp_unit"  is  set.
?
+The parameter "pgm_unit" may be  either  unqualified  or  fully  qualified.
+If "pgm_unit" is unqualified then  the  first  breakpoint in  each  program
+unit of the current compilation unit with the program unit name  "pgm_unit"
+is set.  If "pgm_unit" is qualified  then  the  first  breakpoint  of  each
+program unit in all compilation units with the program unit name "pgm_unit"
+is set.
E
+  1) >> SET_BREAKPOINT(9); --> Sets bkpt 9 in current comp unit
+  2) >> SET_B(A,37         --> Sets bkpt 37 in comp unit A
+  3) >> SET_BREAKPOINT(XYZ --> Sets 1st bkpt of all XYX in current comp unit
+  4) >> SET_BRE(A.B.C.XYZ) --> Sets 1st bkpt in pgm units A.B.C.XYZ
*********************************************************************
\SET_LIBRARY\SET_L\None\Set the Current Program Library
?
+Syntax:  SET_LIBRARY(LIBRARY_NAME);   --> or SET_L(LIBRARY_NAME
+
+         where LIBRARY_NAME is the complete path name of the directory
+         to be used as the WIS_DEBUG Current Program Library
E
+  1) SET_LIBRARY( DRA0:[USER.BUBBA_SMITH.PGMLIB] );
+     A logical device identifier (DRA0:) is required if the Program
+     Library is not located on the current default logical device.
E
+  2) SET_LIB( [USER.GEORGE_BURNS.PGMLIB] )
+     The full path name of the directory is required if the Program 
+     Library is not in the current default working directory.
E
+  3) SE( [.PGMLIB]
+     The Program Library is set to the PGMLIB subdirectory of the
+     current working directory.
*********************************************************************
\SET_OUTPUT\SET_O\None\Set the size of the OUTPUT display region
?
+Syntax:  SET_OUTPUT(size);   --> or SET_O(size
+
+Sets the size of the OUTPUT region of the terminal display in  screen
+screen to "size" lines. The default OUTPUT display region is 6 lines.
E
+  1)  >> SET_OUTPUT(10);  --> Sets the OUTPUT display region to 10 lines
+  2)  >> SET_O(8          --> Sets the OUTPUT display region to  8 lines
*********************************************************************
\SET_SOURCE\SET_S\None\Set the size of the SOURCE display region
?
+Syntax:  SET_SOURCE(size);   --> or SET_S(size
+
+Sets the size of the SOURCE region of the terminal display in  screen
+screen to "size" lines. The default SOURCE display region is 8 lines.
E
+  1)  >> SET_SOURCE(10);  --> Sets the SOURCE display region to 10 lines
+  2)  >> SET_S(6          --> Sets the SOURCE display region to  6 lines
*********************************************************************
$SET_VARIABLE\SET_V\None\Set the value of a program variable
+
+Syntax:  VARIABLE_NAME := SOME_CONSTANT;
?
+The SET_VARIABLE command has the same format and syntax as an Ada
+assignment statement.  It is used to set the value of an Ada program
+variable.
+
+ - VARIABLE_NAME must be visible within the scope of the breakpoint
+                 at which the assignment is made.
+ - SOME_CONSTANT is a constant value of the same basic type as A.
E
+  1)  >> A := 10;
+  2)  >> MY_STRING := "A String of Characters";
+  3)  >> COLOR_ARRAY(5,3) := INTERMETRICS_BLUE;
+  4)  >> AUTOMOBILE.MAKE  := STUDEBAKER;
*********************************************************************
\SHOW_BREAKPOINTS\SHOW_B\None\Show active, or "set", breakpoints
?
+Syntax:  SHOW_BREAKPOINTS;             --> or SHOW_B
+         SHOW_BREAKPOINTS(comp_unit);  --> or SHOW_B(comp_unit
?
+Displays breakpoints that have been set to "on" at the user's console.
+If no compilation unit name is specified then all breakpoints  in  all
+compilation units are  displayed.   If  a  compilation  unit  name  is
+specified then only breakpoints in the specified compilation unit  are
+displayed.
E
+  1)  >> SHOW_BREAKPOINTS;  --> Displays all set bkpts in all comp units
+  2)  >> SHOW_B(SCHEDULER); --> Displays all set bkpts in comp unit SCHEDULER
+  3)  >> SHOW_BRE(MAILBOX   --> Displays all set bkpts in comp unit MAILBOX
+  4)  >> SHOW_B             --> Displays all set bkpts in all comp units
*********************************************************************
\SHOW_HISTORY\SHOW_H\None\Show the last 50 breakpoints executed
?
+Syntax:  SHOW_HISTORY;     --> or SHOW_H
+         SHOW_HISTORY(n);  --> or SHOW_H(n
+
+     where  n : integer range 1..10 := 1;
?
+Displays the last 10 breakpoints executed at the  user's  console.
+If the parameter "n" is not specified then the default value is 1.
E
+  1)  >> SHOW_HISTORY(5); --> Will show the last 5 breakpoints executed
+  2)  >> SHOW_HISTORY(4)  --> Will show the last 4 breakpoints executed
+  3)  >> SHOW_HIST(6      --> Will show the last 6 breakpoints executed
+  4)  >> SHOW_H           --> Will show the last 1 breakpoint executed
*********************************************************************
\SILENT\SI\None\Silence messages at breakpoints and step points
?
+Syntax:  SILENT;           --> or SI
+         SILENT(BREAK);    --> or SI(BREAK
+         SILENT(STEP);     --> or SI(STEP
?
+Turns off Symbolic Debugger messages at breakpoints and step points.
+Breakpoint messages and step messages are of the following form:
+     Break at:  PGM_UNIT_NAME  << BKPT_NUMBER >>
+     Step to:   PGM_UNIT_NAME  << BKPT_NUMBER >>
?
+The default for BREAK messages and STEP messages is "on".   If messages
+are turned "off" by the SILENT command, they may be turned back "on" by
+using the ANNOUNCE command.
E
+  1)  >> SILENT(STEP);  --> Silences STEP messages
+  2)  >> SILENT(BREAK)  --> Silences BREAK messages
+  3)  >> SI             --> Silences both STEP and BREAK messages
*********************************************************************
\STEP\ST\<ENTER>\Resume execution until stepcount exhausted (default=1)
?
+Syntax:  STEP;              --> or ST
+         STEP(step_count);  --> or ST(step_count
+
+   where step_count = the number of breakpoints to be executed
?
+Resumes execution of the suspended program for "step_count" breakpoints.
+If "step_count" is not specified then the default  value of 1  is  used.
+Execution will continue until one or more of the following occurs:
+   1) The STEP count is exhausted.
+   2) An active, or set, breakpoint is encountered.
+   3) Program termination due to an unhandled exception.
+
+The Predefined Keyboard Macro <ENTER> may be used in SCREEN mode to
+execute the STEP command for a default step count of 1.
E
+  1)  >> <cr>       --> Resume execution for 1 breakpoint (SCREEN_MODE only)
+  2)  >> STEP; <cr> --> Resume execution for 1 breakpoint.
+  3)  >> STEP; <cr> --> Resume execution for 1 breakpoint.
+  4)  >> ST(5) <cr> --> Resume execution for 5 breakpoints
+  5)  >> ST(2  <cr> --> Resume execution for 2 breakpoints
*********************************************************************
$SYNTAX_RULES\SY\N/A\Syntax rules for WIS_DEBUG commands
+  1) Commands may be entered using full Ada syntax rules.   Named parameter
+     association is allowed but, once used, must be used for all subsequent
+     parameters in the same command.
?
+  2) Only one command per command line is allowed. Case is not significant.
?
+  3) Blanks at the beginning and end of commands and arguments and  at  the
+     end of the command line are ignored.  Blanks embedded within  commands
+     and arguments are not allowed.
?
+  4) Semicolons and trailing parens are optional unless the  variable  name
+     ends with a paren
?
+  5) Commands may be abbreviated to the fewest number  of  characters  that
+     uniquely identify them.
*********************************************************************
$TERMINALS\T\N/A\The following display terminals are supported in SCREEN mode:
+     TV970   VI50   VT52   VT100
+Refer to the WIS_DEBUG User's Guide for information about
+adding support for new terminals
